﻿using System;
using _5E.Infrastructure.Domain;

namespace Melee.Models.Entity
{
    public partial class MonsterBase : EntityBase<Int32>, IAggregateRoot
    {
        private String m_Name;
        public virtual String Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        private String m_Img;
        public virtual String Img
        {
            get { return m_Img; }
            set { m_Img = value; }
        }

        private Guid m_SystemId;
        public virtual Guid SystemId
        {
            get { return m_SystemId; }
            set { m_SystemId = value; }
        }

        private Int32 m_MinVit;
        public virtual Int32 MinVit
        {
            get { return m_MinVit; }
            set { m_MinVit = value; }
        }

        private Int32 m_MaxVit;
        public virtual Int32 MaxVit
        {
            get { return m_MaxVit; }
            set { m_MaxVit = value; }
        }

        private Int32 m_MinStr;
        public virtual Int32 MinStr
        {
            get { return m_MinStr; }
            set { m_MinStr = value; }
        }

        private Int32 m_MaxStr;
        public virtual Int32 MaxStr
        {
            get { return m_MaxStr; }
            set { m_MaxStr = value; }
        }

        private Int32 m_MinDef;
        public virtual Int32 MinDef
        {
            get { return m_MinDef; }
            set { m_MinDef = value; }
        }

        private Int32 m_MaxDef;
        public virtual Int32 MaxDef
        {
            get { return m_MaxDef; }
            set { m_MaxDef = value; }
        }

        private Int32 m_MinAgi;
        public virtual Int32 MinAgi
        {
            get { return m_MinAgi; }
            set { m_MinAgi = value; }
        }

        private Int32 m_MaxAgi;
        public virtual Int32 MaxAgi
        {
            get { return m_MaxAgi; }
            set { m_MaxAgi = value; }
        }

        private Int32 m_Land;
        public virtual Int32 Land
        {
            get { return m_Land; }
            set { m_Land = value; }
        }

        private Int32 m_Water;
        public virtual Int32 Water
        {
            get { return m_Water; }
            set { m_Water = value; }
        }

        private Int32 m_Fire;
        public virtual Int32 Fire
        {
            get { return m_Fire; }
            set { m_Fire = value; }
        }

        private Int32 m_Wind;
        public virtual Int32 Wind
        {
            get { return m_Wind; }
            set { m_Wind = value; }
        }

        protected override void Validate()
        {
        }
    }
}
